package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CgActividad generated by hbm2java
 */
@Entity
@Table(name = "CG_ACTIVIDAD", schema = "UPET")
public class CgActividad implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6960104702312324579L;
	private String cactividad;
	private CgCiclo cgCiclo;
	private CgGestion cgGestion;
	private CgEtapa cgEtapa;
	private String dactividad;
	private Integer ntiempoAsig;
	private String munidadTiempo;
	private String cusuario;
	private Date fhingreso;
	private Date fhmodificacion;
	private String mtipoTiempo;
	private Set<CgActivEtapa> cgActivEtapas = new HashSet<CgActivEtapa>(0);
	private Set<CgEstAvanDet> cgEstAvanDets = new HashSet<CgEstAvanDet>(0);

	public CgActividad() {
	}

	public CgActividad(String cactividad, String dactividad, String cusuario,
			Date fhingreso, Date fhmodificacion, String mtipoTiempo) {
		this.cactividad = cactividad;
		this.dactividad = dactividad;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.mtipoTiempo = mtipoTiempo;
	}

	public CgActividad(String cactividad, CgCiclo cgCiclo, CgGestion cgGestion,
			CgEtapa cgEtapa, String dactividad, Integer ntiempoAsig,
			String munidadTiempo, String cusuario, Date fhingreso,
			Date fhmodificacion, String mtipoTiempo,
			Set<CgActivEtapa> cgActivEtapas, Set<CgEstAvanDet> cgEstAvanDets) {
		this.cactividad = cactividad;
		this.cgCiclo = cgCiclo;
		this.cgGestion = cgGestion;
		this.cgEtapa = cgEtapa;
		this.dactividad = dactividad;
		this.ntiempoAsig = ntiempoAsig;
		this.munidadTiempo = munidadTiempo;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.mtipoTiempo = mtipoTiempo;
		this.cgActivEtapas = cgActivEtapas;
		this.cgEstAvanDets = cgEstAvanDets;
	}

	@Id
	@Column(name = "C_ACTIVIDAD", unique = true, nullable = false, length = 3)
	public String getCactividad() {
		return this.cactividad;
	}

	public void setCactividad(String cactividad) {
		this.cactividad = cactividad;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_CICLO")
	public CgCiclo getCgCiclo() {
		return this.cgCiclo;
	}

	public void setCgCiclo(CgCiclo cgCiclo) {
		this.cgCiclo = cgCiclo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_GESTION")
	public CgGestion getCgGestion() {
		return this.cgGestion;
	}

	public void setCgGestion(CgGestion cgGestion) {
		this.cgGestion = cgGestion;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_ETAPA")
	public CgEtapa getCgEtapa() {
		return this.cgEtapa;
	}

	public void setCgEtapa(CgEtapa cgEtapa) {
		this.cgEtapa = cgEtapa;
	}

	@Column(name = "D_ACTIVIDAD", nullable = false, length = 50)
	public String getDactividad() {
		return this.dactividad;
	}

	public void setDactividad(String dactividad) {
		this.dactividad = dactividad;
	}

	@Column(name = "N_TIEMPO_ASIG", precision = 5, scale = 0)
	public Integer getNtiempoAsig() {
		return this.ntiempoAsig;
	}

	public void setNtiempoAsig(Integer ntiempoAsig) {
		this.ntiempoAsig = ntiempoAsig;
	}

	@Column(name = "M_UNIDAD_TIEMPO", length = 1)
	public String getMunidadTiempo() {
		return this.munidadTiempo;
	}

	public void setMunidadTiempo(String munidadTiempo) {
		this.munidadTiempo = munidadTiempo;
	}

	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", nullable = false, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_MODIFICACION", nullable = false, length = 7)
	public Date getFhmodificacion() {
		return this.fhmodificacion;
	}

	public void setFhmodificacion(Date fhmodificacion) {
		this.fhmodificacion = fhmodificacion;
	}

	@Column(name = "M_TIPO_TIEMPO", nullable = false, length = 1)
	public String getMtipoTiempo() {
		return this.mtipoTiempo;
	}

	public void setMtipoTiempo(String mtipoTiempo) {
		this.mtipoTiempo = mtipoTiempo;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgActividad")
	public Set<CgActivEtapa> getCgActivEtapas() {
		return this.cgActivEtapas;
	}

	public void setCgActivEtapas(Set<CgActivEtapa> cgActivEtapas) {
		this.cgActivEtapas = cgActivEtapas;
	}

	@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY, mappedBy = "cgActividad")
	public Set<CgEstAvanDet> getCgEstAvanDets() {
		return this.cgEstAvanDets;
	}

	public void setCgEstAvanDets(Set<CgEstAvanDet> cgEstAvanDets) {
		this.cgEstAvanDets = cgEstAvanDets;
	}

}
